#ifndef __PAGER_H__
#define __PAGER_H__

#define PAGE_SZ				512
#define DB_NAME				"foo db v0.1"
#define NAME_START			4
#define NAME_LEN			16

typedef unsigned int 	pgno;
typedef unsigned int 	uint;

struct PageManager;
struct Page;
struct Payload;

typedef struct PageManager* pPageMgr;
typedef struct Page* pPage;
typedef struct Payload* pPayload;

void errExit(const char *);

pPageMgr _createPm(const char* name);
pPageMgr openPm(const char* name);
void printPm(pPageMgr);
void closePm(pPageMgr);
// Page* readPage(pPageMgr, pgno);
pPayload newInfo(const char* key, const char* value);
void save(pPageMgr, pPayload);
void savePage(pPageMgr, pgno);

#endif
